package com.dhcc.DRGsHosp.application;


import java.util.List;
import java.util.Map;
import java.util.Set;

import com.dhcc.DRGsHosp.core.domain.Ward;

public interface WardApplication {

	public Ward getWard(String wardCode);
	
	public void creatWard(Ward ward);
	
	public void updateWard(Ward ward);
	
	public void removeWard(Ward ward);
	
	public void removeWards(Set<Ward> wards);
	
	public List<Ward> findAllWard();
	/**
	 * 
     * @Title: excuteQuery  
     * @Description: 执行查询方法
     * @param sql     
     * @param parameters     
     * @return List<Map<String,Object>>    返回类型  
     * @throws
	 */
	public List<Object[]> excuteQuery(String sql, Map<String,Object> parameters) ;
	/**
	 * 
     * @Title: findWardDescWithDep  
     * @Description: 查询带科室描述的病区描述 
     * @param @return    参数  
     * @return List<Map<String,Object>>    返回类型  
     * @throws
	 */
	public List<Map<String, Object>> findWardDescWithDep();
	/**
	 * 
     * @Title: getDepAndDepGroupByWardCode  
     * @Description: 查询病区相关的科室和科室组信息 
     * @param @return    参数  
     * @return Map<String,Object>    返回类型  
     * @throws
	 */
	public Map<String, Object> getDepAndDepGroupByWardCode(String wardCode);

	public List<Map<String, Object>> isWardOrderExist(String wardOrder);
	
	
	/**
	 * 
	 *  updateWardNameByCode.  
	 *  @Description：根据病区代码更新病区名称
	 *  @Author mazhaoyan
	 *  @param Ward
	 *  @return 
	 *  @Date:2018年2月11日下午4:27:25
	 */
	public int updateWardNameByCode(Ward ward) ;
	/**
	 * 
	 *  updateWardCodeInIpinfo.  
	 *  @Description：更新住院信息表中的病区代码
	 *  @Author mazhaoyan
	 *  @param oldCode
	 *  @param newCode 
	 *  @Date:2018年2月11日下午4:29:07
	 */
	public void updateWardCodeInIpinfo(String oldCode,String newCode) ;
	/**
	 * 
	 *  updateWardCodeInWard.  
	 *  @Description：更新病区表中的病区代码
	 *  @Author mazhaoyan
	 *  @param oldCode
	 *  @param newCode 
	 *  @Date:2018年2月11日下午4:32:15
	 */
	public void updateWardCodeInWard(String oldCode,String newCode) ;
	/**
	 * 
	 *  getWardNotification.  
	 *  @Description：查询没有配置科室的病区
	 *  @Author WENYI
	 *  @return 
	 *  @Date:2018年3月13日下午6:30:41
	 */
	public List<String> getWardNotification();
	
	/**
	 *  查询最大顺序号
	 *  findMaxWardOrder.  
	 *  @Description：
	 *  @Author ChenHanlin
	 *  @return 
	 *  @Date:2018年4月1日下午2:49:11
	 */
	public int findMaxWardOrder();
}

